Data transmission over packet switched networks, such as the Internet, has become extremely common and is growing rapidly. The Internet now carries traffic in the form of voice, data, video, or even facsimile. The transmission of information over the Internet presents problems, which are unique in a packet switching environment.
Specifically, information to be transmitted between points over the Internet is typically divided into small portions called packets. The packets are then addressed and transmitted out over the network by special switches also referred to as routers. Many packets associated with the same stream of information may take different paths through the network, hoping from router to router until ultimately being received and compiled by the destination. The path taken by packets through the Internet is typically uncontrolled by the end user. Rather, the end user simply enters an address for the data to be sent to, and the data is then off through the network hopping from router to router until being ultimately received. The user really has no idea which path is being taken.
The foregoing mode of operation is acceptable for data traffic since it is not time critical. Specifically, if a few of the packets are delayed more or less than other ones of the packets, it will simply result in a slight delay (e.g. a quarter of a second) before the data is received and/or printed by the receiving terminal.
Although it is always desirable to maximize the efficiency of transmissions through the data network such as the Internet, these optimizations are critical with respect to certain types of traffic. Voice and video traffic, for example, cannot tolerate variable delays with packets arriving significantly out of order. The quality of such signals seen by the receiving user will drastically degrade if significant numbers of packets are lost, significant jitter results, or packets are delayed or arrive out of order too frequently.
In connection with voice transmission over the Internet, it is particularly important to minimize factors, which distort the voice in transmission. These factors can include excessive delays due to packets being routed through the switches in a less than optimal manner, packet loss, delay, jitter, and other problems caused by the network. While some of the problems are accounted for through advanced error correction and signal processing algorithms, not all of the problems introduced by the network are easily corrected. Accordingly, it would be desirable to improve the manner in which packets such as voice and video are routed through plural routers in a packet switched data network.
Another drawback of prior art routing algorithms in packet switching routers is that they are often not optimized for voice and/or video traffic. Such routers do not take into account changing voice traffic patterns over the Internet, and alternative paths that may provide better quality voice.
In view of the above, there exists a need in the art for an improved technique of routing voice and other signals through the Internet and other data networks that accounts for varying traffic patterns. Ideally, such a technique should be flexible, allow for changes in traffic patterns, and vary in accordance with network conditions.